Les sommaires générés automatiquement depuis un titre de chapitre étant ou contenant un lien contiennent plusieurs balises <a>
, dont une sans contenu, qui entrent en confit.
Confer https://linuxfr.org/news/l-installation-et-la-distribution-de-paquets-python-2-4
Le premier lien de la du sommaire vers la section "Pip", contient les balises suivantes:
<ul class="toc">
<li>
<a href="#toc-pip"></a> <!--- 1re balise <a>, SANS CONTENU, lien vers l'id "toc-pip" --->
<a href="https://pip.pypa.io">Pip</a> <!--- 2e balise <a>, lien vers "https://pip.pypa.io" --->
<ul>
...
<h2 id="toc-pip"> <!--- titre --->
<a href="https://pip.pypa.io">Pip</a> <!--- lien dans le titre vers "https://pip.pypa.io" --->
</h2>
Le premier élément de la liste ne devrait contenir qu'une seule balise <a>
pointant vers le titre, comme suit:
<ul class="toc">
<li>
<a href="#toc-pip">Pip</a> <!--- balise <a>, lien vers l'id "toc-pip" --->
<ul>
...
<h2 id="toc-pip"> <!--- titre --->
<a href="https://pip.pypa.io">Pip</a> <!--- lien dans le titre vers "https://pip.pypa.io" --->
</h2>
# Problème similaire avec plusieurs lien dans le titre
Posté par esdeem . Évalué à 2 (+0/-0). Dernière modification le 29 décembre 2023 à 11:41.
Même billet, un peu plus bas, titre avec 3 liens, la TOC est générée comme suit, ce qui rend la navigation très compliquée:
Cela donne ce qui suit (la colorisation est de mon fait):
Deviner qu'il y a plusieurs lien est à mon avis difficile dans ce genre de situations. Sur une seule ligne, il y a 4 liens qui se suivent.
Les deux premiers sont concaténés, les suivants uniquement séparés par une virgule.
Ici, tout est correct chaque balise
<a>
a sa destinationhref
et son contenu, mais le rôle du sommaire est de renvoyer aux parties du texte, pas vers un autre site.0. Assume good faith 1. Be kind to other people 2. Express yourself 4. Apply rule 0
[^] # Re: Problème similaire avec plusieurs lien dans le titre
Posté par nud . Évalué à 5 (+0/-0).
Le comportement de markdown est probablement correct dans ce cas car la norme HTML n'autorise pas de liens imbriqués, donc il ferme le premier lien (celui de la toc) avant le lien inclus dans le titre.
Le problème vient du lien dans le titre, qui devrait être supprimé lors de la génération de la table des matières. Ou bien il faudrait tout simplement interdire les liens dans les en-têtes.
[^] # Re: Problème similaire avec plusieurs lien dans le titre
Posté par esdeem . Évalué à 2 (+0/-0).
Il faudrait, à mon avis, neutraliser les liens lors de la création de la toc si les liens sont autorisés dans les titres.
Si les liens ne sont pas autorisés dans les titres, il n'y a plus de soucis en effet.
0. Assume good faith 1. Be kind to other people 2. Express yourself 4. Apply rule 0
[^] # Re: Problème similaire avec plusieurs lien dans le titre
Posté par Ysabeau 🧶 (site web personnel, Mastodon) . Évalué à 4 (+0/-0).
Personnellement, je pense que ça n'a pas de sens d'avoir des liens dans les titres sur ce site en tout cas.
« Tak ne veut pas quʼon pense à lui, il veut quʼon pense », Terry Pratchett, Déraillé.
[^] # Re: Problème similaire avec plusieurs lien dans le titre
Posté par nud . Évalué à 3 (+0/-0).
LinuxFR utilise les gems redcarpet et sanitize via html-pipeline-linuxfr.
En jetant un œil rapide dans ce projet je constate qu'on a un
TableOfContentsFilter
qui génère la table des matières, qui fait ceci:Je suppose que le patch le plus simple serait de supprimer le lien dans le
inner_html
à ce moment-là. On pourrait même peut-être utiliser ça, mais alors on supprime aussi les<em>
et les<strong>
:Si on veut supprimer complètement les liens dans les titres, alors il y a deux possibilités:
# exemple de fonctionnalité cassée
Posté par Benoît Sibaud (site web personnel) . Évalué à 3 (+0/-0).
Suppression des étiquettes indisponibles
https://linuxfr.org/forums/linux-debutant/posts/supprimer-des-sites-que-j-ai-etiquetes#comment-1949250
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.